package com.voxel.sense.infomsg.module.map.warn;

import android.graphics.drawable.Drawable;

import com.amap.api.maps.model.Marker;
import com.example.com.common.app.BaseContract;

import java.util.List;
import java.util.Map;

import cyy.example.com.facotry.model.api.response.FirmLatestOverDataEntity;

/**
 * Created by ChenYiYao on 2018/3/21.
 */

public interface FirmWarnContract {

    interface View<D> extends BaseContract.View<Presenter> {

        /**
         * 更新人员类型的marker标记
         *
         * @param datas
         */
//        void onUpStaffMarker(List datas);

        /**
         * 更新超标类型的marker标记
         *
         * @param datas
         */
        void onUpOverLimitDataMarker(List datas);

        /**
         * 更新设备异常类型的marker标记
         *
         * @param datas
         */
        void onUpFacilityAbnorDataMarker(List datas);
        void noData(int type);

        /**
         * 初始化人员类型筛选列表
         */
//        void onLoadStaffMenuData(List<MenuBean> mMenuBeanList);

        /**
         * 显示marker信息窗口
         *
         * @param body 数据源
         */
        void onShowInfoWindows(D body);
        void onShowWindows(D body);

        void onShowInfo(FirmLatestOverDataEntity body, int type);

        /**
         * 加载marker的icon
         * @param map
         */
        void onLoadMakIconFinish(Map<String, Drawable> map);

    }

    interface Presenter extends BaseContract.Presenter {
        /**
         * 加载人员类型列表的数据
         */
//        void doLoadStaffMenuData();

        /**
         * 刷新人员位置信息
         */
//        void doLoadStaffLocation();

        void doLoadWarningFirm();

        /**
         * 加载marker弹窗的信息数据
         *
         * @param marker
         */
        void doLoadMarkerInfo(Marker marker,String type);

        void getComputeInfoById(String id, int type);

        void getItemClickInfo(String id);
    }

}
